package org.sdp.pearproject.dao.domain;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * InterfaceName: ProjectForAccountBaseExample
 * @Description:
 * @Author: SDP
 * @Date: 2022-07-20
 * @Version: 1.0
 * Table: pear_project
 * Comment:
 * 项目表
 */
public class ProjectForAccountBaseExample extends BaseExample {
    protected Integer limitClause;

    protected Integer countClause;

    protected Integer topClause;

    protected ProjectForAccountBase simple;

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ProjectForAccountBaseExample() {
        oredCriteria = new ArrayList<>();
        simple = new ProjectForAccountBase();
    }

    public void setLimitClause(Integer limitClause) {
        this.limitClause = limitClause;
    }

    public Integer getLimitClause() {
        return limitClause;
    }

    public void setCountClause(Integer countClause) {
        this.countClause = countClause;
    }

    public Integer getCountClause() {
        return countClause;
    }

    public void setTopClause(Integer topClause) {
        this.topClause = topClause;
    }

    public Integer getTopClause() {
        return topClause;
    }

    public void setSimple(ProjectForAccountBase simple) {
        this.simple = simple;
    }

    public ProjectForAccountBase getSimple() {
        return simple;
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public static ProjectForAccountBaseExample createExample(ProjectForAccountBase request) throws Exception {
        return createExample(request, null);
    }

    public static ProjectForAccountBaseExample createExample(ProjectForAccountBase request, JSONObject options) throws Exception {
        ProjectForAccountBaseExample example = new ProjectForAccountBaseExample();
        example.setSimple(request);
        ProjectForAccountBaseExample.Criteria criteria = example.createCriteria();

        example.fixExample(ProjectForAccountBase.class, CriteriaString.class, criteria, options);

        if (options != null) {
            String orderBy = "";
            if (options.containsKey("order_by")) {
                orderBy = setCriteriaOrderBy(options.getJSONArray("order_by"), example);
                if (orderBy.length() > 0) {
                    example.setOrderByClause(orderBy);
                }
            }
        }

        return example;
    }

    private static String setCriteriaOrderBy(JSONArray jsonArray, ProjectForAccountBaseExample example) throws Exception {
        List<Object> request = Criterion.toList(jsonArray, CriteriaString.class);
        StringBuilder sb = new StringBuilder();
        int count = 0;
        for(int i = 0; i < request.size(); i++) {
            Object criteriaOrderByObj  = request.get(i);
            CriteriaString criteriaOrderBy = (CriteriaString)criteriaOrderByObj;
            int subCount = 0;

            subCount += appendCriteriaOrderByItem(sb, "id", criteriaOrderBy.getId());
            subCount += appendCriteriaOrderByItem(sb, "code", criteriaOrderBy.getCode());
            subCount += appendCriteriaOrderByItem(sb, "member_code", criteriaOrderBy.getMemberCode());
            subCount += appendCriteriaOrderByItem(sb, "organization_code", criteriaOrderBy.getOrganizationCode());
            subCount += appendCriteriaOrderByItem(sb, "department_code", criteriaOrderBy.getDepartmentCode());
            subCount += appendCriteriaOrderByItem(sb, "authorize", criteriaOrderBy.getAuthorize());
            subCount += appendCriteriaOrderByItem(sb, "is_owner", criteriaOrderBy.getIsOwner());
            subCount += appendCriteriaOrderByItem(sb, "`name`", criteriaOrderBy.getName());
            subCount += appendCriteriaOrderByItem(sb, "mobile", criteriaOrderBy.getMobile());
            subCount += appendCriteriaOrderByItem(sb, "email", criteriaOrderBy.getEmail());
            subCount += appendCriteriaOrderByItem(sb, "create_time", criteriaOrderBy.getCreateTime());
            subCount += appendCriteriaOrderByItem(sb, "last_login_time", criteriaOrderBy.getLastLoginTime());
            subCount += appendCriteriaOrderByItem(sb, "`status`", criteriaOrderBy.getStatus());
            subCount += appendCriteriaOrderByItem(sb, "description", criteriaOrderBy.getDescription());
            subCount += appendCriteriaOrderByItem(sb, "avatar", criteriaOrderBy.getAvatar());
            subCount += appendCriteriaOrderByItem(sb, "`position`", criteriaOrderBy.getPosition());
            subCount += appendCriteriaOrderByItem(sb, "department", criteriaOrderBy.getDepartment());
            subCount += appendCriteriaOrderByItem(sb, "departments", criteriaOrderBy.getDepartments());
            subCount += appendCriteriaOrderByItem(sb, "membar_account_code", criteriaOrderBy.getMembarAccountCode());
            subCount += appendCriteriaOrderByItem(sb, "member_code_camel", criteriaOrderBy.getMemberCodeCamel());
            subCount += appendCriteriaOrderByItem(sb, "member_avatar", criteriaOrderBy.getMemberAvatar());
            if (subCount > 1) {
                throw new Exception("order by数组元素对象属性多于1个(ProjectForAccountBaseExample):"+count+","+JSON.toJSONString(jsonArray.get(i)));
            }
            if (subCount == 0 && !"{}".equals(JSON.toJSONString(jsonArray.get(i)))) {
                throw new Exception("存在非法order by 字段(ProjectForAccountBaseExample):"+count+","+JSON.toJSONString(jsonArray.get(i)));
            }
            count++;
        }
        if (sb.length() == 0) {
            appendCriteriaOrderByItem(sb, "1", "");
        }

        return sb.toString();
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCodeIsNull() {
            addCriterion("code is null");
            return (Criteria) this;
        }

        public Criteria andCodeIsNotNull() {
            addCriterion("code is not null");
            return (Criteria) this;
        }

        public Criteria andCodeEqualTo(String value) {
            addCriterion("code =", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotEqualTo(String value) {
            addCriterion("code <>", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThan(String value) {
            addCriterion("code >", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeGreaterThanOrEqualTo(String value) {
            addCriterion("code >=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThan(String value) {
            addCriterion("code <", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLessThanOrEqualTo(String value) {
            addCriterion("code <=", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeRegexp(String value) {
            addCriterion("code regexp", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeLike(String value) {
            addCriterion("code like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotLike(String value) {
            addCriterion("code not like", value, "code");
            return (Criteria) this;
        }

        public Criteria andCodeIn(List<String> values) {
            addCriterion("code in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotIn(List<String> values) {
            addCriterion("code not in", values, "code");
            return (Criteria) this;
        }

        public Criteria andCodeBetween(String value1, String value2) {
            addCriterion("code between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andCodeNotBetween(String value1, String value2) {
            addCriterion("code not between", value1, value2, "code");
            return (Criteria) this;
        }

        public Criteria andMemberCodeIsNull() {
            addCriterion("member_code is null");
            return (Criteria) this;
        }

        public Criteria andMemberCodeIsNotNull() {
            addCriterion("member_code is not null");
            return (Criteria) this;
        }

        public Criteria andMemberCodeEqualTo(String value) {
            addCriterion("member_code =", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeNotEqualTo(String value) {
            addCriterion("member_code <>", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeGreaterThan(String value) {
            addCriterion("member_code >", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeGreaterThanOrEqualTo(String value) {
            addCriterion("member_code >=", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeLessThan(String value) {
            addCriterion("member_code <", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeLessThanOrEqualTo(String value) {
            addCriterion("member_code <=", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeRegexp(String value) {
            addCriterion("member_code regexp", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeLike(String value) {
            addCriterion("member_code like", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeNotLike(String value) {
            addCriterion("member_code not like", value, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeIn(List<String> values) {
            addCriterion("member_code in", values, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeNotIn(List<String> values) {
            addCriterion("member_code not in", values, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeBetween(String value1, String value2) {
            addCriterion("member_code between", value1, value2, "memberCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeNotBetween(String value1, String value2) {
            addCriterion("member_code not between", value1, value2, "memberCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeIsNull() {
            addCriterion("organization_code is null");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeIsNotNull() {
            addCriterion("organization_code is not null");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeEqualTo(String value) {
            addCriterion("organization_code =", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeNotEqualTo(String value) {
            addCriterion("organization_code <>", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeGreaterThan(String value) {
            addCriterion("organization_code >", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeGreaterThanOrEqualTo(String value) {
            addCriterion("organization_code >=", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeLessThan(String value) {
            addCriterion("organization_code <", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeLessThanOrEqualTo(String value) {
            addCriterion("organization_code <=", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeRegexp(String value) {
            addCriterion("organization_code regexp", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeLike(String value) {
            addCriterion("organization_code like", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeNotLike(String value) {
            addCriterion("organization_code not like", value, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeIn(List<String> values) {
            addCriterion("organization_code in", values, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeNotIn(List<String> values) {
            addCriterion("organization_code not in", values, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeBetween(String value1, String value2) {
            addCriterion("organization_code between", value1, value2, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andOrganizationCodeNotBetween(String value1, String value2) {
            addCriterion("organization_code not between", value1, value2, "organizationCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeIsNull() {
            addCriterion("department_code is null");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeIsNotNull() {
            addCriterion("department_code is not null");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeEqualTo(String value) {
            addCriterion("department_code =", value, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeNotEqualTo(String value) {
            addCriterion("department_code <>", value, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeGreaterThan(String value) {
            addCriterion("department_code >", value, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeGreaterThanOrEqualTo(String value) {
            addCriterion("department_code >=", value, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeLessThan(String value) {
            addCriterion("department_code <", value, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeLessThanOrEqualTo(String value) {
            addCriterion("department_code <=", value, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeRegexp(String value) {
            addCriterion("department_code regexp", value, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeLike(String value) {
            addCriterion("department_code like", value, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeNotLike(String value) {
            addCriterion("department_code not like", value, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeIn(List<String> values) {
            addCriterion("department_code in", values, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeNotIn(List<String> values) {
            addCriterion("department_code not in", values, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeBetween(String value1, String value2) {
            addCriterion("department_code between", value1, value2, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andDepartmentCodeNotBetween(String value1, String value2) {
            addCriterion("department_code not between", value1, value2, "departmentCode");
            return (Criteria) this;
        }

        public Criteria andAuthorizeIsNull() {
            addCriterion("authorize is null");
            return (Criteria) this;
        }

        public Criteria andAuthorizeIsNotNull() {
            addCriterion("authorize is not null");
            return (Criteria) this;
        }

        public Criteria andAuthorizeEqualTo(String value) {
            addCriterion("authorize =", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeNotEqualTo(String value) {
            addCriterion("authorize <>", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeGreaterThan(String value) {
            addCriterion("authorize >", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeGreaterThanOrEqualTo(String value) {
            addCriterion("authorize >=", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeLessThan(String value) {
            addCriterion("authorize <", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeLessThanOrEqualTo(String value) {
            addCriterion("authorize <=", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeRegexp(String value) {
            addCriterion("authorize regexp", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeLike(String value) {
            addCriterion("authorize like", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeNotLike(String value) {
            addCriterion("authorize not like", value, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeIn(List<String> values) {
            addCriterion("authorize in", values, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeNotIn(List<String> values) {
            addCriterion("authorize not in", values, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeBetween(String value1, String value2) {
            addCriterion("authorize between", value1, value2, "authorize");
            return (Criteria) this;
        }

        public Criteria andAuthorizeNotBetween(String value1, String value2) {
            addCriterion("authorize not between", value1, value2, "authorize");
            return (Criteria) this;
        }

        public Criteria andIsOwnerIsNull() {
            addCriterion("is_owner is null");
            return (Criteria) this;
        }

        public Criteria andIsOwnerIsNotNull() {
            addCriterion("is_owner is not null");
            return (Criteria) this;
        }

        public Criteria andIsOwnerEqualTo(Byte value) {
            addCriterion("is_owner =", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerNotEqualTo(Byte value) {
            addCriterion("is_owner <>", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerGreaterThan(Byte value) {
            addCriterion("is_owner >", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerGreaterThanOrEqualTo(Byte value) {
            addCriterion("is_owner >=", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerLessThan(Byte value) {
            addCriterion("is_owner <", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerLessThanOrEqualTo(Byte value) {
            addCriterion("is_owner <=", value, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerIn(List<Byte> values) {
            addCriterion("is_owner in", values, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerNotIn(List<Byte> values) {
            addCriterion("is_owner not in", values, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerBetween(Byte value1, Byte value2) {
            addCriterion("is_owner between", value1, value2, "isOwner");
            return (Criteria) this;
        }

        public Criteria andIsOwnerNotBetween(Byte value1, Byte value2) {
            addCriterion("is_owner not between", value1, value2, "isOwner");
            return (Criteria) this;
        }

        public Criteria andNameIsNull() {
            addCriterion("`name` is null");
            return (Criteria) this;
        }

        public Criteria andNameIsNotNull() {
            addCriterion("`name` is not null");
            return (Criteria) this;
        }

        public Criteria andNameEqualTo(String value) {
            addCriterion("`name` =", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotEqualTo(String value) {
            addCriterion("`name` <>", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThan(String value) {
            addCriterion("`name` >", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameGreaterThanOrEqualTo(String value) {
            addCriterion("`name` >=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThan(String value) {
            addCriterion("`name` <", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLessThanOrEqualTo(String value) {
            addCriterion("`name` <=", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameRegexp(String value) {
            addCriterion("`name` regexp", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameLike(String value) {
            addCriterion("`name` like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotLike(String value) {
            addCriterion("`name` not like", value, "name");
            return (Criteria) this;
        }

        public Criteria andNameIn(List<String> values) {
            addCriterion("`name` in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotIn(List<String> values) {
            addCriterion("`name` not in", values, "name");
            return (Criteria) this;
        }

        public Criteria andNameBetween(String value1, String value2) {
            addCriterion("`name` between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andNameNotBetween(String value1, String value2) {
            addCriterion("`name` not between", value1, value2, "name");
            return (Criteria) this;
        }

        public Criteria andMobileIsNull() {
            addCriterion("mobile is null");
            return (Criteria) this;
        }

        public Criteria andMobileIsNotNull() {
            addCriterion("mobile is not null");
            return (Criteria) this;
        }

        public Criteria andMobileEqualTo(String value) {
            addCriterion("mobile =", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotEqualTo(String value) {
            addCriterion("mobile <>", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileGreaterThan(String value) {
            addCriterion("mobile >", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileGreaterThanOrEqualTo(String value) {
            addCriterion("mobile >=", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLessThan(String value) {
            addCriterion("mobile <", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLessThanOrEqualTo(String value) {
            addCriterion("mobile <=", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileRegexp(String value) {
            addCriterion("mobile regexp", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLike(String value) {
            addCriterion("mobile like", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotLike(String value) {
            addCriterion("mobile not like", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileIn(List<String> values) {
            addCriterion("mobile in", values, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotIn(List<String> values) {
            addCriterion("mobile not in", values, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileBetween(String value1, String value2) {
            addCriterion("mobile between", value1, value2, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotBetween(String value1, String value2) {
            addCriterion("mobile not between", value1, value2, "mobile");
            return (Criteria) this;
        }

        public Criteria andEmailIsNull() {
            addCriterion("email is null");
            return (Criteria) this;
        }

        public Criteria andEmailIsNotNull() {
            addCriterion("email is not null");
            return (Criteria) this;
        }

        public Criteria andEmailEqualTo(String value) {
            addCriterion("email =", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotEqualTo(String value) {
            addCriterion("email <>", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThan(String value) {
            addCriterion("email >", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThanOrEqualTo(String value) {
            addCriterion("email >=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThan(String value) {
            addCriterion("email <", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThanOrEqualTo(String value) {
            addCriterion("email <=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailRegexp(String value) {
            addCriterion("email regexp", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLike(String value) {
            addCriterion("email like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotLike(String value) {
            addCriterion("email not like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailIn(List<String> values) {
            addCriterion("email in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotIn(List<String> values) {
            addCriterion("email not in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailBetween(String value1, String value2) {
            addCriterion("email between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotBetween(String value1, String value2) {
            addCriterion("email not between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(String value) {
            addCriterion("create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(String value) {
            addCriterion("create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(String value) {
            addCriterion("create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(String value) {
            addCriterion("create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(String value) {
            addCriterion("create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(String value) {
            addCriterion("create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeRegexp(String value) {
            addCriterion("create_time regexp", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLike(String value) {
            addCriterion("create_time like", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotLike(String value) {
            addCriterion("create_time not like", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<String> values) {
            addCriterion("create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<String> values) {
            addCriterion("create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(String value1, String value2) {
            addCriterion("create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(String value1, String value2) {
            addCriterion("create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeIsNull() {
            addCriterion("last_login_time is null");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeIsNotNull() {
            addCriterion("last_login_time is not null");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeEqualTo(String value) {
            addCriterion("last_login_time =", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeNotEqualTo(String value) {
            addCriterion("last_login_time <>", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeGreaterThan(String value) {
            addCriterion("last_login_time >", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeGreaterThanOrEqualTo(String value) {
            addCriterion("last_login_time >=", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeLessThan(String value) {
            addCriterion("last_login_time <", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeLessThanOrEqualTo(String value) {
            addCriterion("last_login_time <=", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeRegexp(String value) {
            addCriterion("last_login_time regexp", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeLike(String value) {
            addCriterion("last_login_time like", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeNotLike(String value) {
            addCriterion("last_login_time not like", value, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeIn(List<String> values) {
            addCriterion("last_login_time in", values, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeNotIn(List<String> values) {
            addCriterion("last_login_time not in", values, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeBetween(String value1, String value2) {
            addCriterion("last_login_time between", value1, value2, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andLastLoginTimeNotBetween(String value1, String value2) {
            addCriterion("last_login_time not between", value1, value2, "lastLoginTime");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("`status` is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("`status` is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(Byte value) {
            addCriterion("`status` =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(Byte value) {
            addCriterion("`status` <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(Byte value) {
            addCriterion("`status` >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(Byte value) {
            addCriterion("`status` >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(Byte value) {
            addCriterion("`status` <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(Byte value) {
            addCriterion("`status` <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<Byte> values) {
            addCriterion("`status` in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<Byte> values) {
            addCriterion("`status` not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(Byte value1, Byte value2) {
            addCriterion("`status` between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(Byte value1, Byte value2) {
            addCriterion("`status` not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("description is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("description is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("description =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("description <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("description >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("description >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("description <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("description <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionRegexp(String value) {
            addCriterion("description regexp", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("description like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("description not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("description in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("description not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("description between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("description not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andAvatarIsNull() {
            addCriterion("avatar is null");
            return (Criteria) this;
        }

        public Criteria andAvatarIsNotNull() {
            addCriterion("avatar is not null");
            return (Criteria) this;
        }

        public Criteria andAvatarEqualTo(String value) {
            addCriterion("avatar =", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarNotEqualTo(String value) {
            addCriterion("avatar <>", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarGreaterThan(String value) {
            addCriterion("avatar >", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarGreaterThanOrEqualTo(String value) {
            addCriterion("avatar >=", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarLessThan(String value) {
            addCriterion("avatar <", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarLessThanOrEqualTo(String value) {
            addCriterion("avatar <=", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarRegexp(String value) {
            addCriterion("avatar regexp", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarLike(String value) {
            addCriterion("avatar like", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarNotLike(String value) {
            addCriterion("avatar not like", value, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarIn(List<String> values) {
            addCriterion("avatar in", values, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarNotIn(List<String> values) {
            addCriterion("avatar not in", values, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarBetween(String value1, String value2) {
            addCriterion("avatar between", value1, value2, "avatar");
            return (Criteria) this;
        }

        public Criteria andAvatarNotBetween(String value1, String value2) {
            addCriterion("avatar not between", value1, value2, "avatar");
            return (Criteria) this;
        }

        public Criteria andPositionIsNull() {
            addCriterion("`position` is null");
            return (Criteria) this;
        }

        public Criteria andPositionIsNotNull() {
            addCriterion("`position` is not null");
            return (Criteria) this;
        }

        public Criteria andPositionEqualTo(String value) {
            addCriterion("`position` =", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotEqualTo(String value) {
            addCriterion("`position` <>", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionGreaterThan(String value) {
            addCriterion("`position` >", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionGreaterThanOrEqualTo(String value) {
            addCriterion("`position` >=", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLessThan(String value) {
            addCriterion("`position` <", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLessThanOrEqualTo(String value) {
            addCriterion("`position` <=", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionRegexp(String value) {
            addCriterion("`position` regexp", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionLike(String value) {
            addCriterion("`position` like", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotLike(String value) {
            addCriterion("`position` not like", value, "position");
            return (Criteria) this;
        }

        public Criteria andPositionIn(List<String> values) {
            addCriterion("`position` in", values, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotIn(List<String> values) {
            addCriterion("`position` not in", values, "position");
            return (Criteria) this;
        }

        public Criteria andPositionBetween(String value1, String value2) {
            addCriterion("`position` between", value1, value2, "position");
            return (Criteria) this;
        }

        public Criteria andPositionNotBetween(String value1, String value2) {
            addCriterion("`position` not between", value1, value2, "position");
            return (Criteria) this;
        }

        public Criteria andDepartmentIsNull() {
            addCriterion("department is null");
            return (Criteria) this;
        }

        public Criteria andDepartmentIsNotNull() {
            addCriterion("department is not null");
            return (Criteria) this;
        }

        public Criteria andDepartmentEqualTo(String value) {
            addCriterion("department =", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentNotEqualTo(String value) {
            addCriterion("department <>", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentGreaterThan(String value) {
            addCriterion("department >", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentGreaterThanOrEqualTo(String value) {
            addCriterion("department >=", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentLessThan(String value) {
            addCriterion("department <", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentLessThanOrEqualTo(String value) {
            addCriterion("department <=", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentRegexp(String value) {
            addCriterion("department regexp", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentLike(String value) {
            addCriterion("department like", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentNotLike(String value) {
            addCriterion("department not like", value, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentIn(List<String> values) {
            addCriterion("department in", values, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentNotIn(List<String> values) {
            addCriterion("department not in", values, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentBetween(String value1, String value2) {
            addCriterion("department between", value1, value2, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentNotBetween(String value1, String value2) {
            addCriterion("department not between", value1, value2, "department");
            return (Criteria) this;
        }

        public Criteria andDepartmentsIsNull() {
            addCriterion("departments is null");
            return (Criteria) this;
        }

        public Criteria andDepartmentsIsNotNull() {
            addCriterion("departments is not null");
            return (Criteria) this;
        }

        public Criteria andDepartmentsEqualTo(String value) {
            addCriterion("departments =", value, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsNotEqualTo(String value) {
            addCriterion("departments <>", value, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsGreaterThan(String value) {
            addCriterion("departments >", value, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsGreaterThanOrEqualTo(String value) {
            addCriterion("departments >=", value, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsLessThan(String value) {
            addCriterion("departments <", value, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsLessThanOrEqualTo(String value) {
            addCriterion("departments <=", value, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsRegexp(String value) {
            addCriterion("departments regexp", value, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsLike(String value) {
            addCriterion("departments like", value, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsNotLike(String value) {
            addCriterion("departments not like", value, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsIn(List<String> values) {
            addCriterion("departments in", values, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsNotIn(List<String> values) {
            addCriterion("departments not in", values, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsBetween(String value1, String value2) {
            addCriterion("departments between", value1, value2, "departments");
            return (Criteria) this;
        }

        public Criteria andDepartmentsNotBetween(String value1, String value2) {
            addCriterion("departments not between", value1, value2, "departments");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeIsNull() {
            addCriterion("membar_account_code is null");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeIsNotNull() {
            addCriterion("membar_account_code is not null");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeEqualTo(String value) {
            addCriterion("membar_account_code =", value, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeNotEqualTo(String value) {
            addCriterion("membar_account_code <>", value, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeGreaterThan(String value) {
            addCriterion("membar_account_code >", value, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeGreaterThanOrEqualTo(String value) {
            addCriterion("membar_account_code >=", value, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeLessThan(String value) {
            addCriterion("membar_account_code <", value, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeLessThanOrEqualTo(String value) {
            addCriterion("membar_account_code <=", value, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeRegexp(String value) {
            addCriterion("membar_account_code regexp", value, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeLike(String value) {
            addCriterion("membar_account_code like", value, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeNotLike(String value) {
            addCriterion("membar_account_code not like", value, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeIn(List<String> values) {
            addCriterion("membar_account_code in", values, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeNotIn(List<String> values) {
            addCriterion("membar_account_code not in", values, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeBetween(String value1, String value2) {
            addCriterion("membar_account_code between", value1, value2, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMembarAccountCodeNotBetween(String value1, String value2) {
            addCriterion("membar_account_code not between", value1, value2, "membarAccountCode");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelIsNull() {
            addCriterion("member_code_camel is null");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelIsNotNull() {
            addCriterion("member_code_camel is not null");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelEqualTo(String value) {
            addCriterion("member_code_camel =", value, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelNotEqualTo(String value) {
            addCriterion("member_code_camel <>", value, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelGreaterThan(String value) {
            addCriterion("member_code_camel >", value, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelGreaterThanOrEqualTo(String value) {
            addCriterion("member_code_camel >=", value, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelLessThan(String value) {
            addCriterion("member_code_camel <", value, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelLessThanOrEqualTo(String value) {
            addCriterion("member_code_camel <=", value, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelRegexp(String value) {
            addCriterion("member_code_camel regexp", value, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelLike(String value) {
            addCriterion("member_code_camel like", value, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelNotLike(String value) {
            addCriterion("member_code_camel not like", value, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelIn(List<String> values) {
            addCriterion("member_code_camel in", values, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelNotIn(List<String> values) {
            addCriterion("member_code_camel not in", values, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelBetween(String value1, String value2) {
            addCriterion("member_code_camel between", value1, value2, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberCodeCamelNotBetween(String value1, String value2) {
            addCriterion("member_code_camel not between", value1, value2, "memberCodeCamel");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarIsNull() {
            addCriterion("member_avatar is null");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarIsNotNull() {
            addCriterion("member_avatar is not null");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarEqualTo(String value) {
            addCriterion("member_avatar =", value, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarNotEqualTo(String value) {
            addCriterion("member_avatar <>", value, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarGreaterThan(String value) {
            addCriterion("member_avatar >", value, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarGreaterThanOrEqualTo(String value) {
            addCriterion("member_avatar >=", value, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarLessThan(String value) {
            addCriterion("member_avatar <", value, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarLessThanOrEqualTo(String value) {
            addCriterion("member_avatar <=", value, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarRegexp(String value) {
            addCriterion("member_avatar regexp", value, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarLike(String value) {
            addCriterion("member_avatar like", value, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarNotLike(String value) {
            addCriterion("member_avatar not like", value, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarIn(List<String> values) {
            addCriterion("member_avatar in", values, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarNotIn(List<String> values) {
            addCriterion("member_avatar not in", values, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarBetween(String value1, String value2) {
            addCriterion("member_avatar between", value1, value2, "memberAvatar");
            return (Criteria) this;
        }

        public Criteria andMemberAvatarNotBetween(String value1, String value2) {
            addCriterion("member_avatar not between", value1, value2, "memberAvatar");
            return (Criteria) this;
        }

    }

    public static class CriteriaString {
        @JsonProperty("id")
        @JSONField(name = "id")
        private String id;

        public String getId() {
            return id;
        }
        
        public void setId(String _v) {
            id = _v;
        }

        @JsonProperty("code")
        @JSONField(name = "code")
        private String code;

        public String getCode() {
            return code;
        }
        
        public void setCode(String _v) {
            code = _v;
        }

        @JsonProperty("member_code")
        @JSONField(name = "member_code")
        private String memberCode;

        public String getMemberCode() {
            return memberCode;
        }
        
        public void setMemberCode(String _v) {
            memberCode = _v;
        }

        @JsonProperty("organization_code")
        @JSONField(name = "organization_code")
        private String organizationCode;

        public String getOrganizationCode() {
            return organizationCode;
        }
        
        public void setOrganizationCode(String _v) {
            organizationCode = _v;
        }

        @JsonProperty("department_code")
        @JSONField(name = "department_code")
        private String departmentCode;

        public String getDepartmentCode() {
            return departmentCode;
        }
        
        public void setDepartmentCode(String _v) {
            departmentCode = _v;
        }

        @JsonProperty("authorize")
        @JSONField(name = "authorize")
        private String authorize;

        public String getAuthorize() {
            return authorize;
        }
        
        public void setAuthorize(String _v) {
            authorize = _v;
        }

        @JsonProperty("is_owner")
        @JSONField(name = "is_owner")
        private String isOwner;

        public String getIsOwner() {
            return isOwner;
        }
        
        public void setIsOwner(String _v) {
            isOwner = _v;
        }

        @JsonProperty("name")
        @JSONField(name = "name")
        private String name;

        public String getName() {
            return name;
        }
        
        public void setName(String _v) {
            name = _v;
        }

        @JsonProperty("mobile")
        @JSONField(name = "mobile")
        private String mobile;

        public String getMobile() {
            return mobile;
        }
        
        public void setMobile(String _v) {
            mobile = _v;
        }

        @JsonProperty("email")
        @JSONField(name = "email")
        private String email;

        public String getEmail() {
            return email;
        }
        
        public void setEmail(String _v) {
            email = _v;
        }

        @JsonProperty("create_time")
        @JSONField(name = "create_time")
        private String createTime;

        public String getCreateTime() {
            return createTime;
        }
        
        public void setCreateTime(String _v) {
            createTime = _v;
        }

        @JsonProperty("last_login_time")
        @JSONField(name = "last_login_time")
        private String lastLoginTime;

        public String getLastLoginTime() {
            return lastLoginTime;
        }
        
        public void setLastLoginTime(String _v) {
            lastLoginTime = _v;
        }

        @JsonProperty("status")
        @JSONField(name = "status")
        private String status;

        public String getStatus() {
            return status;
        }
        
        public void setStatus(String _v) {
            status = _v;
        }

        @JsonProperty("description")
        @JSONField(name = "description")
        private String description;

        public String getDescription() {
            return description;
        }
        
        public void setDescription(String _v) {
            description = _v;
        }

        @JsonProperty("avatar")
        @JSONField(name = "avatar")
        private String avatar;

        public String getAvatar() {
            return avatar;
        }
        
        public void setAvatar(String _v) {
            avatar = _v;
        }

        @JsonProperty("position")
        @JSONField(name = "position")
        private String position;

        public String getPosition() {
            return position;
        }
        
        public void setPosition(String _v) {
            position = _v;
        }

        @JsonProperty("department")
        @JSONField(name = "department")
        private String department;

        public String getDepartment() {
            return department;
        }
        
        public void setDepartment(String _v) {
            department = _v;
        }

        @JsonProperty("departments")
        @JSONField(name = "departments")
        private String departments;

        public String getDepartments() {
            return departments;
        }
        
        public void setDepartments(String _v) {
            departments = _v;
        }

        @JsonProperty("membar_account_code")
        @JSONField(name = "membar_account_code")
        private String membarAccountCode;

        public String getMembarAccountCode() {
            return membarAccountCode;
        }
        
        public void setMembarAccountCode(String _v) {
            membarAccountCode = _v;
        }

        @JsonProperty("member_code_camel")
        @JSONField(name = "member_code_camel")
        private String memberCodeCamel;

        public String getMemberCodeCamel() {
            return memberCodeCamel;
        }
        
        public void setMemberCodeCamel(String _v) {
            memberCodeCamel = _v;
        }

        @JsonProperty("member_avatar")
        @JSONField(name = "member_avatar")
        private String memberAvatar;

        public String getMemberAvatar() {
            return memberAvatar;
        }
        
        public void setMemberAvatar(String _v) {
            memberAvatar = _v;
        }

    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }
}
